package org.jeecg.modules.information.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.information.vo.CourseTypeVo;
import org.jeecg.modules.information.entity.CourseType;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import java.util.List;

/**
 * @Description: course_type
 * @Author: jeecg-boot
 * @Date:   2021-08-16
 * @Version: V1.0
 */
public interface CourseTypeMapper extends BaseMapper<CourseType> {

    /**
     *
     * @param page
     * @param typeName
     * @return
     */
    public IPage<CourseTypeVo> selPrimaryTitle(@Param("page") IPage<CourseTypeVo> page,@Param("typeName") String typeName);

    /**
     * 用户通过一级标签查询一级标签下的所有二级标签信息
     * @param page 分页对象
     * @param typeCode 一级标签名
     * @return
     */
    public IPage<CourseTypeVo> selCourseByTypeCode(@Param("page") IPage<CourseTypeVo> page,@Param("typeCode") String typeCode);

    /**
     * 获取一级标签的最后一条code，比如：查出为A99，则在控制层进行转换转为B01
     * @return
     */
    public String selTypeCode();


    /**
     * 查询所有的一级标签，前端新增二级课程的时候回显给下拉框
     * @return
     */
    public List<CourseTypeVo> PrimaryTitle();


    /**
     * 根据一级标签名查询子级标签下的code 比如：A01A01，则添加时数据应为A01A02
     * @param id 一级标题ID
     * @return
     */
    public String selTheSecondaryTitle(@Param("id") String id);

    /**
     * 当新增二级标题成功时则修改一级标签将是否有子级进行更改
     * @param id
     * @return
     */
    public void editPrimaryTitle(@Param("id") String id);

    /**
     * 通过id查询一级标签code
     * @param id 一级标签id
     * @return
     */
    public String selPrimaryTitleTypeCode(@Param("id") String id);

    /**
     * 当删除二级标题成功时则修改一级标签将是否有子级进行更改
     * @param id
     * @return
     */
    public void delPrimaryTitle(@Param("id") String id);



}
